DotNetEx Sourcecode Document  0.0.0.0
 全て クラス ネームスペース 関数 変数 列挙型 列挙型の値 プロパティ イベント グループ ページ
クラス DotNetEx.CounterKey

ロッククラスの生成数をカウントする鍵クラス。 [詳細]

構成

class  Lock
 CounterKeyの参照カウント管理クラス [詳細]
 

Public 型

enum  LockMode { LockMode.None = 0x0, LockMode.NotRaiseOverpopEvent = 0x1, LockMode.RaiseFinalizedWithoutExplicitDisposeEvent = 0x2, LockMode.Default = None }
 Lockクラスの挙動(異常報知オプション)を指定します。 [詳細]
 

Public メソッド

 CounterKey ()
 デフォルトコンストラクター
 
 CounterKey (LockMode mode)
 コンストラクター
 
Lock GenerateLock ()
 Lockクラスを生成します。
 

Static Public メソッド

static CounterKey UsingKey ()
 CounterKeyクラスを生成します。 [詳細]
 

Static Protected メソッド

static void OnOverPop (Lock sender)
 Lockオブジェクトを指定してOverPopイベントを起こします。
 
static void OnFinalizedWithoutExplicitDispose (Lock sender)
 Lockオブジェクトを指定してFinalizedWithoutExplicitDisposeイベントを起こします。
 

プロパティ

System.UInt64 KeyCount [get]
 現在のキー参照カウントを取得します。
 
LockMode Mode [get]
 初期化時に設定された異常報知オプションの取得
 

イベント

static System.EventHandler OverPop
 解放しすぎが生じた際に起こります。
 
static System.EventHandler FinalizedWithoutExplicitDispose
 ファイナライズ(usingなど明示的Dispose()以外の、暗黙の自動ガベージコレクト)が生じた時に起こります。
 

説明

ロッククラスの生成数をカウントする鍵クラス。

CounterKeyインスタンスから生成されたCounterKey.Lockクラスは生成時にCounterKeyのロックカウントをインクリメントし、Lock.Dispose()によってCounterKeyのロックカウントを解放します。

列挙型

Lockクラスの挙動(異常報知オプション)を指定します。

Dispose()処理時に想定外の挙動がある場合の対応を指定します。 広義には例外処理に相当するケースですが、Dispose()中の例外スローはあまり一般的でない事も多く、例外に代わりCounterKeyの静的イベントが生じます。 さらにこれらのイベントを有効にするには、Lockオブジェクト生成時にも個別の検知設定を行ってください。

列挙型の値
None 

規定値。なんのオプションも指定されません。

NotRaiseOverpopEvent 

指定すると解放しすぎが生じた時にCounterKey.OverPopイベントを生じます(通常ありえない事態なので、明示的にこのフラグを指定しない限り、解放しすぎイベントはデフォルトで起動します)。

RaiseFinalizedWithoutExplicitDisposeEvent 

Lockクラスのファイナライザが作動すると「明示的なDispose忘れ」としてCounterKey.FinalizedWithoutExplicitDisposeイベントを生じます。 using文を使用するか明示的Dispose()を呼んでおけばこのイベントは起こりません。

Default 

規定値。なんのオプションも指定されません(常にNoneの別名として定義されます)。

メソッド

static CounterKey DotNetEx.CounterKey.UsingKey ( )
static

CounterKeyクラスを生成します。

LockMode.RaiseFinalizedWithoutExplicitDisposeEventで、usingステートメントなどを使用せずDisposeを忘れると異常報知するCounterKeyを生成します。


このクラスの説明は次のファイルから生成されました: